The invention is in the field of computer graphics and relates specifically to an image generator servicing a plurality of display terminals.
In computer graphics, a representation of a generally three-dimensional world is stored in a memory, and selected two-dimensional projections of selected portions of it are displayed on a two-dimensional display surface such as a television screen. The stored information and the display surface may take a variety of forms. A simple example of a system of this type is a video tape serving as a memory and storing a selected set of two-dimensional views of a three-dimensional world, combined with a television set. A more complex example is a specifically programmed digital computer system which stores a three-dimensional object such as a cube by identifying the coordinates of its edges, generates selected two-dimensional projections of the three-dimensional object and the coordinates of the lines making up this projection, and either transmits the coordinates of the lines making up the projection to a stroke type display device or converts the line coordinates to a set of raster points and transmits that set to a raster display device such as a television receiver.
A survey of computer graphic techniques may be found in Sutherland, I. E., A Characterization of Ten Hidden Surface Algorithms, ACM Computing Surveys, Vol. 6, No. 1, March 1974, pages 1-55; and in the references listed at page 45 of the article, and particularly in Newman, W. M. et al., Principles of Interactive Computer Graphics, McGraw-Hill, 1973. The references discussed in this paragraph are hereby incorporated by reference in this disclosure.
A major factor which has prevented widespread use of computer graphics has been the cost of storing great amounts of information and of transmitting information to the display devices at a high rate. For example, if the purposee of a system is to show on a display surface any selected view of a three-dimensional object such as a cube, it is theoretically possible to store a nearly infinite number of views on a video tape and to find and display a selected one on a television screen, but this would be prohibitively expensive. A great reduction in the amount of stored information results when a three-dimensional object is stored in computer memory not as it looks in a specific two-dimensional view but as it actually is in three dimensions, e.g., by storing the three-dimensional coordinates of the apices or the edges of a cube. This three-dimensional information can be computer processed to generate almost any perspective view of the three-dimensional object, to thus reduce storage cost as compared to a video tape storage. The remaining question is then how to transmit a representation of the two-dimensional view of the object to a display device and how to display it. The answer to this question must take into account and reconcile a number of conflicting factors, such as: the desirability of a low transmission rate so as to avoid expensive communication links between the central computer and the display device, the desirability of fast operation of the display device so as to be able to show a complex image without flicker and the desirability of having minimal storage at the display device so as to minimize cost.
In various approaches to reconciling these conflicting factors, some prior art systems use stroke-type display devices (IBM 2250 and Tectronics) which form lines by random positioning and stroking of the CRT beam, others use video gating over a TV raster (Anagraph) and still others use random point plotting (Plasma). All these types of display devices refresh the display either by repeated image generation from encoded form such as lines (IBM 2250), be reading a video storage device such as a video disc (Anagraph) or shift register memory (TICCIT), by reading a storage tube (Tectronics) or by use of a special memory display panel (Plasma).
While the stroke type display devices afford relatively low transmission rate between the image generator and the display device, since line identification data is transmitted and not video raster, these devices can not display complex images because of limited stroking rates. While the other types of display devices discussed immediately above can theoretically display complex images, they are severely limited in resolution because of the high cost of locally storing each point of an image and because of the required high transmission rate.
There are only two systems known to applicant which use point display devices and are capable of displaying area graphics where arbitrary shapes or surfaces can be simulated: the system developed by the Evans and Sutherland Computer Corporation and the system developed By G.E. for pilot simulator-like application. Both are systems in which the terminal display device includes a special purpose image generator computer. Both systems generate colored perspective views from three-dimensional descriptions of objects, but both are limited to one display device since the output of the image generator is a color video raster to a color monitor. Modification of these two systems by the use of a blackboard memory in the display monitor, in order to share the image generator for several users, is uneconomical because of the high cost of buffering colored video raster data. Additionally, both of these two systems are limited in speed, only one picture per 1/30 th second being possible.
A need remained therefore for a graphics display system using a relatively low transmission rate between the image generator and the display terminals, capable of supporting a number of display terminals by the same image generator, needing minimal storage of data at the display terminal and capable of producing flickerless display of complex images, all this at a relatively low price per terminal. This need is met by the display terminal system disclosed in the patent application of which this is a CIP. The remaining need, prior to this invention, was to have an image generator which can start with a representation of a three-dimensional world, and provide x-ordered two-dimensional edges which are relatively inexpensive to transmit and which are of the type usable by said display terminal system, and to provide such edges at a sufficiently high rate for flickerless display of different, complex images at a high number of display terminals.